# shellcheck shell=sh
# shellcheck disable=SC2034

# ferreus_orbit Plugins for HPE "DL345 Gen11"

fo_get_sorted_name(){
  num=$(echo "$ID_PATH" | cut -d- -f4| cut -d: -f3)
  eidslt=$(jq -r ".[0].All_Info.\"JBOD LIST\"|select(.!=null)[]|select(.ID==${num}).\"EID:Slt\"" "${FO_CACHE_FILE_STORCLI}")
  EID=$(echo "${eidslt}"| cut -d: -f1)
  Slt=$(echo "${eidslt}"| cut -d: -f2)
  box=$(jq -r ".[0].Slots_Info|to_entries[]|select(.key==\"Drive /c0/e${EID}/s${Slt} - Detailed Information\").value.\"Drive /c0/e${EID}/s${Slt} Device attributes\".Box" "${FO_CACHE_FILE_STORCLI}")
  if [ "$USE_FO_NAME" -eq 1 ] || [ "$1" = "-f" ]; then
    echo "Box${box}-Disk${Slt}"
  else
    if [ "$box" -eq "8" ]; then
      box=3
    else
      box=$(( box - 1 ))
    fi
    id=$((box * 4 + Slt - 1))
    disk=sd$(fo_get_dev_letter "${id}")
    echo "$disk"
  fi
}

fo_get_did(){
  num=$(echo "$ID_PATH" | cut -d- -f4| cut -d: -f3)
  jq -r ".[0].All_Info.\"JBOD LIST\"|select(.!=null)[]|select(.ID==${num}).DID" "${FO_CACHE_FILE_STORCLI}"
}

fo_get_id(){
  echo "$ID_PATH" | cut -d- -f4| cut -d: -f3
}

fo_get_kname(){
  id=$(jq -r ".[0].All_Info.\"JBOD LIST\"|select(.!=null)[]|select(.DID==${1}).ID" "${FO_CACHE_FILE_STORCLI}")
 	ls "/sys/class/scsi_device/0:2:${id}:0/device/block/"
}


FO_BOX_DISPOSITION="| Box {BOX} |{Box{BOX}-Disk1}|{Box{BOX}-Disk2}|{Box{BOX}-Disk3}|{Box{BOX}-Disk4}|\
{new_line}|       |{SN_Box{BOX}-Disk1}|{SN_Box{BOX}-Disk2}|{SN_Box{BOX}-Disk3}|{SN_Box{BOX}-Disk4}|"

FO_DISPOSITION="""
HDD disposition (Front Panel)
__________{UNDERSCORE}___{UNDERSCORE}___{UNDERSCORE}___{UNDERSCORE}__
{BOX1}
|-------|-{MINUS}-|-{MINUS}-|-{MINUS}-|-{MINUS}-|
{BOX2}
|-------|-{MINUS}-|-{MINUS}-|-{MINUS}-|-{MINUS}-|
{BOX3}
¯¯¯¯¯¯¯¯¯¯{HIGHER}¯¯¯{HIGHER}¯¯¯{HIGHER}¯¯¯{HIGHER}¯¯

HDD disposition (Rear Panel):
__________{UNDERSCORE}___{UNDERSCORE}___{UNDERSCORE}___{UNDERSCORE}__
{BOX8}
¯¯¯¯¯¯¯¯¯¯{HIGHER}¯¯¯{HIGHER}¯¯¯{HIGHER}¯¯¯{HIGHER}¯¯
"""
 
FO_BOX_TEXTILE="|_.Box {BOX}|{Box{BOX}-Disk1}|{Box{BOX}-Disk2}|{Box{BOX}-Disk3}|{Box{BOX}-Disk4}|"

FO_TEXTILE="""


h3. HDD disposition (Front Panel)

{BOX1}
{BOX2}
{BOX3}

h3. HDD disposition (Rear Panel):

{BOX8}
"""
 
for b in 1 2 3 8; do
  # shellcheck disable=SC2059
  fo_box=$(printf "${FO_BOX_DISPOSITION}"|sed "s/{BOX}/${b}/g")
  # shellcheck disable=SC2059
  FO_DISPOSITION=$(printf "${FO_DISPOSITION}"|sed "s/{BOX${b}}/${fo_box}/g")
  # shellcheck disable=SC2059
  fo_box_textile=$(printf "${FO_BOX_TEXTILE}"|sed "s/{BOX}/${b}/g")
  # shellcheck disable=SC2059
  FO_TEXTILE=$(printf "${FO_TEXTILE}"|sed "s/{BOX${b}}/${fo_box_textile}/g")
done

